package com.gxp.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gxp.common.annotation.Excel;
import com.gxp.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 项目对象 zknj_project
 *
 * @author zh
 * @date 2024-07-09
 */
public class ZknjProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long proId;

    /** 名称 */
    @Excel(name = "名称")
    private String proName;

    /** 描述 */
    @Excel(name = "描述")
    private String proDes;

    /** 状态 */
    @Excel(name = "状态")
    private Long proStatus;

    /** 项目开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 项目结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    private String approveBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date approveTime;

    private String comment;

    private String approveType;

    private String approveDetail;

    private Long isLock;

    public void setProId(Long proId)
    {
        this.proId = proId;
    }

    public Long getProId()
    {
        return proId;
    }
    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }
    public void setProDes(String proDes)
    {
        this.proDes = proDes;
    }

    public String getProDes()
    {
        return proDes;
    }
    public void setProStatus(Long proStatus)
    {
        this.proStatus = proStatus;
    }

    public Long getProStatus()
    {
        return proStatus;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }

    public String getApproveBy() {
        return approveBy;
    }

    public void setApproveBy(String approveBy) {
        this.approveBy = approveBy;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getApproveType() {
        return approveType;
    }

    public void setApproveType(String approveType) {
        this.approveType = approveType;
    }

    public String getApproveDetail() {
        return approveDetail;
    }

    public void setApproveDetail(String approveDetail) {
        this.approveDetail = approveDetail;
    }

    public Long getIsLock() {
        return isLock;
    }

    public void setIsLock(Long isLock) {
        this.isLock = isLock;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("proId", getProId())
                .append("proName", getProName())
                .append("proDes", getProDes())
                .append("proStatus", getProStatus())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("approveBy", getApproveBy())
                .append("approveTime", getApproveTime())
                .append("comment", getComment())
                .append("approveType", getApproveType())
                .append("approveDetail", getApproveDetail())
                .append("isLock", getIsLock())
                .toString();
    }
}
